根据激光雷达点云中点的坐标计算ring的值

您所在的位置:网站首页 evod ring什么意思 根据激光雷达点云中点的坐标计算ring的值

根据激光雷达点云中点的坐标计算ring的值

2024-07-03 21:30| 来源: 网络整理| 查看: 265

目前velodyne系列的激光雷达已经会提供ring的值,

所谓ring的值,就是每个点是几束光发出来的。

参考这个图

在这里插入图片描述

那如果没有提供的话,就需要自己来算 ring的值了.

下面是一段参考代码.

# read binary data scan = (np.fromfile(velo_filename, dtype=np.float32)).reshape(-1, 4) # get ring channel depth = np.linalg.norm(scan, 2, axis=1) pitch = np.arcsin(scan[:, 2] / depth) # arcsin(z, depth) fov_down = -24.8 / 180.0 * np.pi fov = (abs(-24.8) + abs(2.0)) / 180.0 * np.pi proj_y = (pitch + abs(fov_down)) / fov # in [0.0, 1.0] proj_y *= 64 # in [0.0, H] proj_y = np.floor(proj_y) proj_y = np.minimum(64 - 1, proj_y) proj_y = np.maximum(0, proj_y).astype(np.int32) # in [0,H-1] proj_y = proj_y.reshape(-1, 1)

这里面有两个超参24.8, 2.0 分别代表着光束的最下边那束光与水平线的夹角,与最上面那束光与水平线的夹角,一般都是下面的大,上面的小,因为光打到空中也没啥用。 这两个参数是kitti中的,这也是为什么kitti的激光雷达基本上都是下面的点偏多.

上面的计算也非常的容易懂, 就是先算出pitch, 然后看pitch占整个 光束张角的比例,注意这时候算的时候,pitch要加上下张角,估计是因为最下面那束光的标号是0(对于kitti而言.)

然后根据比例以及总线数,算出来大致是在哪一个光束.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3